#ifndef _MEGA_GAMELOCATION_H_
#define _MEGA_GAMELOCATION_H_

#include "Globals.h"
#include "GameView.h"

#include <SFML/Window/Keyboard.hpp>
#include <SFML/Window/Mouse.hpp>

namespace mega
{

// forward declarations
class GameObject;
class Player;

class GameLocation
	: public GameView
{

public:
	GameLocation();
	virtual ~GameLocation();

public:
	virtual void updateState();

	// game object interface
	virtual void render(RenderTarget & _target);

	// event handle interface
	virtual bool onKeyPressed (const sf::Keyboard::Key & _key);
	virtual bool onKeyReleased(const sf::Keyboard::Key & _key);
	virtual bool onMousePressed (const sf::Mouse::Button & _button, const Position & _pos);
	virtual bool onMouseReleased(const sf::Mouse::Button & _button, const Position & _pos);

private:
	size_t              m_objectsAmount;
	GameObject       ** m_objects;
	// dumb thing just for testing
	MovingDirections    m_moving;
	Player            * m_player;
};

}

#endif // _MEGA_GAMELOCATION_H_